package model;

import java.io.Serializable;

import model.Unidad;

public abstract class ZonaBatalla extends Thread implements Serializable {

	protected Unidad unidadActual;

	@Override
	public void run() {
		
	}
	
	public Unidad getUnidadActual() {
		return unidadActual;
	}
	
	public abstract void setUnidadActual(Unidad unidadActual);


	
	// --------------------------------
	// Metodos complementarios
	// --------------------------------
	
	
	public static int fib(int nivel) { 
		if (nivel <= 1){ 
			return nivel;
		} 
		else return fib(nivel-1) + fib(nivel-2); 
	}
	
	public abstract void asignarAGanadorDeBatalla(Unidad unidad);
	
	/*
	 * Esto sucede tanto con Caminos como con Ciudades
	 * Recibe una unidad ya que en caso de que 
	 * no haya "UnidadActual", el parametro "Ingresante"
	 * cubrirá ese lugar, caso contrario se disputará una
	 * batalla la cual el ganador será quien ocupe ese lugar.
	 * 
	 */
	
	public void ingresar(Unidad ingresante){
		if (this.getUnidadActual() == null){
			ingresante.salirDeCiudad();
			this.setUnidadActual(ingresante);
		} else{
			System.out.println("Pelea pelea pelea");
		}
	}
	
}